package Gather.ImmutableGather;

/**
 * ClassName:Gather002
 * Package:Gather
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/23-20:12
 * @Version:v1.0
 */
public class Gather001 {
    /*不可变集合：不可以被修改的集合*/

    /*创建不可变集合的应用场景
    * 1.如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践
    * 2.或者当集合对象被不可信的库调用时,不可变形式是安全的
    *
    * 创建不可变集合的书写格式
    * 在List,Set,Map接口中,都存在静态的of方法,可以获取一个不可变得集合
    * static<E> List<E>of(E...elements) 创建一个具有指定元素的List集合对象
    * static<E> Set<E>of(E...elements) 创建一个具有指定元素的Set集合对象
    * static<K,V> Map<K,V>of(E...elements) 创建一个指定元素的Map集合对象
    *
    * 注意：这个集合不能添加,不能删除,不能修改
    *
    * 三种方式的细节
    * 1.List：直接用
    * 2.Set：元素不能重复
    * 3.Map：元素不能重复,键值对数量最多是10个
    *       超过10个用ofEntries方法*/
}
